Метавселенная. Создание пространственного интернета - Мэтью Болл
Тот факт, что многие из этих перестановок не имеют особой ценности, на самом деле очень важен для тех, кто создает виртуальные миры. Герою The Legend of Zelda не нужно лететь в космос, поэтому не требуется космическая физика. Игрокам Call of Duty не нужны байдарки, чары или выпечка - разработчик игры не создавал соответствующий код. Nintendo и Activision могли бы сосредоточить больше данных и кода на том, что нужно и полезно их виртуальным мирам, а не на бесконечных перестановках, которые имеют ограниченную практическую ценность для их игр.
При всей своей эффективности такой подход создает препятствия для создания виртуальных миров типа Metaverse, а особенно для обеспечения их совместимости. Например, в Microsoft Flight Simulator пилот может посадить вертолет рядом с футбольным полем, но при этом он не сможет посмотреть футбольный матч, не говоря уже о том, чтобы присоединиться к нему. Чтобы предложить такую функциональность, Microsoft пришлось бы с нуля создавать собственную футбольную систему, хотя многие разработчики уже сделали это и, имея многолетний опыт, скорее всего, лучше справятся. Хотя MSFS могла бы попытаться интегрироваться в эти специфические для футбола виртуальные миры, структуры данных и коды с каждой стороны, скорее всего, будут несовместимы. В главах о сетях и вычислениях выше я говорил о том, что устройства пользователей часто выполняют одну и ту же работу. Но если можно провести сравнение, то разработчикам, надо сказать, приходится еще хуже. Они постоянно создают и перестраивают все - от футбольного поля до футбольного мяча и даже правил полета футбольного мяча в воздухе. Более того, с каждым годом эта работа становится все сложнее, поскольку создатели виртуальных миров стремятся использовать преимущества более совершенных процессоров и графических процессоров. По данным Nexon, одного из крупнейших в мире издателей видеоигр, среднее количество штатных сотрудников для экшена с открытым миром (вспомните The Legend of Zelda или Assassin's Creed) выросло примерно с 1000 человек в 2007 году до более 4000 к 2018 году, а бюджеты увеличились в 10 раз (примерно в два с половиной раза быстрее).1
Чтобы услышать, как падают деревья, чтобы они падали рядом с футбольными полями и чтобы звук их падения добавлялся к реву толпы, реагирующей на победный тачдаун, требуется множество программистов, пишущих множество кода для обработки огромного количества данных, и все они работают одинаковыми способами.
Теперь, когда мы рассмотрели сетевые и вычислительные мощности, необходимые для обмена, запуска и визуализации данных и кода, необходимых для Metaverse, мы можем перейти к последним понятиям.
Игровые движки
Концепция, история и будущее Metaverse тесно связаны с играми, как мы уже видели, и этот факт, пожалуй, наиболее очевиден, когда мы смотрим на основной код виртуальных миров. Этот код обычно содержится в "игровом движке" - расплывчатом термине, обозначающем совокупность технологий и фреймворков, которые помогают создавать игру, рендерить ее, обрабатывать логику и управлять памятью. В упрощенном понимании игровой движок - это то, что устанавливает виртуальные законы вселенной - набор правил, определяющий все взаимодействия и возможности.
Исторически сложилось так, что все геймдизайнеры создавали и поддерживали свои собственные игровые движки. Но за последние пятнадцать лет появилась альтернатива: лицензирование движка от Epic Games, которая выпускает Unreal Engine, или от Unity Technologies, которая выпускает одноименный движок.
Использование этих движков связано с определенными расходами. Например, Unity взимает ежегодную плату с каждого разработчика, использующего ее. Эта плата варьируется от 400 до 4 000 долларов, в зависимости от требуемых функций и размера компании разработчика. Unreal обычно взимает 5 % от чистой выручки. Плата - не единственная причина для создания собственного движка. Некоторые разработчики считают, что если делать это для определенного игрового жанра или опыта, например реалистичных и быстро развивающихся шутеров от первого лица, то их игры будут "лучше" ощущаться или лучше работать. Других беспокоит необходимость полагаться на конвейеры и приоритеты другой компании, а также то, что поставщик имеет столь подробное представление об их игре и ее производительности. Учитывая эти опасения, крупные издатели обычно создают и поддерживают собственные движки (некоторые, такие как Activision и Square Enix, даже имеют полдюжины или более).
Большинство разработчиков, однако, считают, что лицензирование и последующая настройка Unreal или Unity - это чистый плюс. Лицензирование позволяет небольшой или неопытной команде создать игру на более мощном и тщательно протестированном движке, чем тот, который они когда-либо могли создать, и при этом вероятность неудач меньше, а бюджет никогда не превысит запланированный. Кроме того, они могут уделить больше времени тому, что будет отличать их виртуальный мир - дизайну уровней, персонажей, геймплею и т. д., - а не базовым технологиям, необходимым для его запуска. И вместо того чтобы нанимать разработчика и обучать его работе с проприетарным движком, они могут обратиться к миллионам индивидуальных разработчиков, уже знакомых с Unity или Unreal, и сразу же приступить к работе. По тем же причинам проще интегрировать сторонние инструменты. Независимый стартап, создающий, скажем, программное обеспечение для отслеживания лиц аватаров в видеоиграх, не будет разрабатывать свое решение для работы с проприетарным движком, который он никогда не использовал, а вместо этого будет работать с теми, которые выбрало наибольшее количество разработчиков.
Хорошая аналогия - проектирование и строительство дома. Ни архитектор, ни декоратор не разрабатывают собственные размеры пиломатериалов, монтажную фурнитуру, системы измерений, рамки чертежей или инструменты. Это не только позволяет сосредоточиться на творческой работе, , но и облегчает наем плотников, электриков и сантехников. Если дом когда-нибудь потребует ремонта, другой команде будет легче изменить существующую структуру, потому что им не нужно изучать новые техники, инструменты или системы.
Однако у этой аналогии есть один существенный недостаток. Дома строятся один раз и в одном месте. Игры же создаются для работы на максимально возможном количестве устройств и операционных систем - некоторые из них еще не разработаны, не говоря уже о выпуске. В результате игры должны быть совместимы, скажем, с разными стандартами напряжения (например, 240 вольт в Великобритании и 120 вольт в Америке), системами измерения (имперская и метрическая), условными обозначениями (провода воздушной телефонии и подземные провода) и так далее. Unity